bitkeeper revision 1.1327.1.5 (4266ee2bW65qcNXtpGjcvtUxXqKVUQ)
authordjm@kirby.fc.hp.com <djm@kirby.fc.hp.com>
Thu, 21 Apr 2005 00:04:59 +0000 (00:04 +0000)
committerdjm@kirby.fc.hp.com <djm@kirby.fc.hp.com>
Thu, 21 Apr 2005 00:04:59 +0000 (00:04 +0000)
vcpu.c:
  more cases for setting pending

xen/arch/ia64/vcpu.c

index 8ce8149dd9c12cd0381ca9016de17f2dea39c248..d1769a20c3db5761d887c478cfdd1551b4ea891d 100644 (file)
@@ -750,7 +750,8 @@ IA64FAULT vcpu_set_tpr(VCPU *vcpu, UINT64 val)
 {
        if (val & 0xff00) return IA64_RSVDREG_FAULT;
        PSCB(vcpu,tpr) = val;
-       //PSCB(vcpu,pending_interruption) = 1;
+       if (vcpu_check_pending_interrupts(vcpu) != SPURIOUS_VECTOR)
+               PSCB(vcpu,pending_interruption) = 1;
        return (IA64_NO_FAULT);
 }
 
@@ -776,6 +777,8 @@ IA64FAULT vcpu_set_eoi(VCPU *vcpu, UINT64 val)
                // with interrupts disabled
                printf("Trying to EOI interrupt with interrupts enabled\r\n");
        }
+       if (vcpu_check_pending_interrupts(vcpu) != SPURIOUS_VECTOR)
+               PSCB(vcpu,pending_interruption) = 1;
 //printf("YYYYY vcpu_set_eoi: Successful\n");
        return (IA64_NO_FAULT);
 }